#include<bits/stdc++.h>
#define sd(n) scanf("%d",&n) 
#define sld(n) scanf("%lld",&n)
#define pd(n) printf("%d", (n))
#define pld(n) printf("%lld", n)
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
#define fi first
#define se second
const int N=2e5;
const int maxn=1e6;
typedef long long int ll;
using namespace std;
//----------------------------------------------------------------------------//
int a[maxn]={0};
ll dp[maxn][2]={0};
void solve()
{
		int n;
		sd(n);
        for(int i=1;i<=n;i++)
        {
            dp[i][0]=0;
            dp[i][1]=0;
        }
        for(int i=1;i<=n;i++)
        {
            sd(a[i]);
            dp[a[i]][i%2]=max(dp[a[i]][(i+1)%2]+1,dp[a[i]][i%2]);
        }
        for(int i=1;i<=n;i++)
        {
            cout<<(max(dp[i][0],dp[i][1]))<<" ";
        }
        puts("");
}



int main()
{
	int T;
	sd(T);
	while (T--)
	{
		solve();
	}
	return 0;
}